guint resize_handler;
guint border_width : 16;
+ guint border_width_set : 1;
guint has_focus_chain : 1;
guint reallocate_redraws : 1;
priv->border_width = 0;
priv->resize_mode = GTK_RESIZE_PARENT;
priv->reallocate_redraws = FALSE;
+ priv->border_width_set = FALSE;
}
static void
}
}
+gboolean
+_gtk_container_get_border_width_set (GtkContainer *container)
+{
+ GtkContainerPrivate *priv;
+
+ g_return_val_if_fail (GTK_IS_CONTAINER (container), FALSE);
+
+ priv = container->priv;
+
+ return priv->border_width_set;
+}
+
+void
+_gtk_container_set_border_width_set (GtkContainer *container,
+ gboolean border_width_set)
+{
+ GtkContainerPrivate *priv;
+
+ g_return_if_fail (GTK_IS_CONTAINER (container));
+
+ priv = container->priv;
+
+ priv->border_width_set = border_width_set ? TRUE : FALSE;
+}
+
/**
* gtk_container_set_border_width:
* @container: a #GtkContainer
if (priv->border_width != border_width)
{
priv->border_width = border_width;
+ _gtk_container_set_border_width_set (container, TRUE);
+
g_object_notify (G_OBJECT (container), "border-width");
if (gtk_widget_get_realized (GTK_WIDGET (container)))
void _gtk_container_stop_idle_sizer (GtkContainer *container);
void _gtk_container_maybe_start_idle_sizer (GtkContainer *container);
+gboolean _gtk_container_get_border_width_set (GtkContainer *container);
+void _gtk_container_set_border_width_set (GtkContainer *container,
+ gboolean border_width_set);
G_END_DECLS
#include "gtkmarshalers.h"
#include "gtkbox.h"
#include "gtkboxprivate.h"
+#include "gtkcontainerprivate.h"
#include "gtkmain.h"
#include "gtkintl.h"
#include "gtkbindings.h"
_gtk_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+ /**
+ * GtkDialog:content-area-border:
+ *
+ * The default border width used around the
+ * content area of the dialog, as returned by
+ * gtk_dialog_get_content_area(), unless gtk_container_set_border_width()
+ * was called on that widget directly.
+ *
+ */
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("content-area-border",
P_("Content area border"),
"button-spacing", &button_spacing,
"action-area-border", &action_area_border,
NULL);
-
- gtk_container_set_border_width (GTK_CONTAINER (priv->vbox),
- content_area_border);
+
+ if (!_gtk_container_get_border_width_set (GTK_CONTAINER (priv->vbox)))
+ gtk_container_set_border_width (GTK_CONTAINER (priv->vbox),
+ content_area_border);
+
if (!_gtk_box_get_spacing_set (GTK_BOX (priv->vbox)))
{
gtk_box_set_spacing (GTK_BOX (priv->vbox), content_area_spacing);
gtk_box_set_spacing (GTK_BOX (priv->action_area),
button_spacing);
- gtk_container_set_border_width (GTK_CONTAINER (priv->action_area),
- action_area_border);
+
+ if (!_gtk_container_get_border_width_set (GTK_CONTAINER (priv->action_area)))
+ gtk_container_set_border_width (GTK_CONTAINER (priv->action_area),
+ action_area_border);
}
static void
<property name="position">0</property>
</packing>
</child>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox">
+ <property name="border_width">0</property>
+ </object>
+ </child>
</object>
</child>
</template>